﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Modelo.Interface;

namespace BL
{
    public class ServiceCaminhao
    {
        IDalCaminhao _dalCaminhao;

        public ServiceCaminhao()
        {
            //_dalCaminhao = (IDalCaminhao)(Activator.CreateInstance(Properties.Settings.Default.Dal.Split('.')[0], Properties.Settings.Default.Dal + "." + "DalCaminhao")).Unwrap();
            _dalCaminhao = new DalEntity.Implementacao.DalCaminhao();//.DalG();
        }

        public IList<Modelo.Caminhao> RetornaCaminhaos()
        {
            try
            {
                return _dalCaminhao.ListaCaminhaos();
            }
            catch (Exception ex)
            {
                Log.insertLog(ex.Message, "RetornaCaminhaos", "ServiceCaminhao");
                throw ex;
            }
        }

        public object RetornaCaminhaoID(int id)
        {
            try
            {
                return _dalCaminhao.RetornaCaminhaoID(id);
            }
            catch (Exception ex)
            {
                Log.insertLog(ex.Message, "RetornaCaminhaosID", "ServiceCaminhao");
                throw ex;
            }
        }

        public bool ExcluiCaminhao(int id)
        {
            try
            {
                return (_dalCaminhao.ExcluiCaminhao(id));
            }
            catch (Exception ex)
            {
                Log.insertLog(ex.Message, "ExcluiCaminhao", "ServiceCaminhao");
                return false;
            }
        }

        public bool GravarCaminhao(Modelo.Caminhao Caminhao)
        {
            try
            {
                return (_dalCaminhao.InsereCaminhao(Caminhao));
            }
            catch (Exception ex)
            {
                Log.insertLog(ex.Message, "GravarCaminhao", "ServiceCaminhao");
                return false;
            }
        }

        public bool AlterarCaminhao(Modelo.Caminhao Caminhao)
        {

            try
            {
                return (_dalCaminhao.UpdateCaminhao(Caminhao));
            }
            catch (Exception ex)
            {
                Log.insertLog(ex.Message, "AlterarCaminhao", "ServiceCaminhao");
                return false;
            }
        }

    }
}
